The increasing number of portable devices, cellular phones, laptops, personal digital assistants, text message machines, wireless gaming machines, music players, etc. has increased the need to measure their use for various purposes. For example, measuring a user's interaction with a portable device provides visibility of the types of services and applications that may interest a user. Similarly, measuring the performance of a portable device enables manufacturers, wireless service providers, content providers, etc. to improve their products and services. There is an increasing array of functionality available for portable devices with varying degrees of resource usage and power requirements. Consumers are able to incorporate applications from a large number of application developers into their portable devices. As a result, there are many portable devices in use, many different types of portable devices, and a large number of applications that may be installed and run on the wide array of portable devices. It is extremely difficult, if not impossible, for portable device manufacturers, consumers, and application developers to measure the performance for every combination of possible applications and portable devices.
Currently, portable device manufacturers determine energy use of their portable devices by installing and running baseline software applications in a controlled laboratory environment. A programmed script executes the applications according to a pre-determined pattern while hardware measuring equipment tracks the battery life remaining in the portable device and corresponding parametric information. The testing method provides a snapshot of portable device performance for the small number of portable devices tested. The baseline testing does not test for many environmental and parametric operating conditions the portable device may experience over its lifetime. Additionally, the baseline software applications may not be representative of the complex applications and/or the combination of the complex applications provided by third party application developers available to consumers.